package com.cuit.qx.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import com.cuit.qx.bean.WindScale;
import com.cuit.qx.dao.WindScaleMapper;
import com.cuit.qx.service.WindScaleService;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author lcj
 * @since 2021-01-20
 */
@Service
public class WindScaleServiceImpl extends ServiceImpl<WindScaleMapper, WindScale> implements WindScaleService {

    //风力转风级
    @Override
    public WindScale conversion(BigDecimal bigDecimal) {
        QueryWrapper<WindScale> queryWrapper = new QueryWrapper<>();
        queryWrapper.orderByAsc("wind_scale");
        List<WindScale> list = this.baseMapper.selectList(queryWrapper);
       // int windScale = 0;
        WindScale windScale = new WindScale();
        if (bigDecimal.compareTo(new BigDecimal(list.get(0).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(1).getNumMin())) == -1){
             windScale = list.get(0);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(1).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(2).getNumMin())) == -1){
            windScale = list.get(1);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(2).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(3).getNumMin())) == -1){
            windScale = list.get(2);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(3).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(4).getNumMin())) == -1){
            windScale = list.get(3);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(4).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(5).getNumMin())) == -1){
            windScale = list.get(4);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(5).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(6).getNumMin())) == -1){
            windScale = list.get(5);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(6).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(7).getNumMin())) == -1){
            windScale = list.get(6);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(7).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(8).getNumMin())) == -1){
            windScale = list.get(7);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(8).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(9).getNumMin())) == -1){
            windScale = list.get(8);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(9).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(10).getNumMin())) == -1){
            windScale = list.get(9);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(10).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(11).getNumMin())) == -1){
            windScale = list.get(10);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(11).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(12).getNumMin())) == -1){
            windScale = list.get(11);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(12).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(13).getNumMin())) == -1){
            windScale = list.get(12);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(13).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(14).getNumMin())) == -1){
            windScale = list.get(13);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(14).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(15).getNumMin())) == -1){
            windScale = list.get(14);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(15).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(16).getNumMin())) == -1){
            windScale = list.get(15);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(16).getNumMin()))  > -1 && bigDecimal.compareTo(new BigDecimal(list.get(17).getNumMin())) == -1){
            windScale = list.get(16);
        }else if (bigDecimal.compareTo(new BigDecimal(list.get(17).getNumMin()))  > -1 ){
            windScale = list.get(17);
        }
        return windScale;
    }
}
